/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package verins.BO;

import java.util.List;
import verins.DAO.ProcesoEmpadronamientoDAO;
import verins.beans.Etapaprocesoempadronamiento;
import verins.beans.Log;
import verins.beans.Procesoempadronamiento;
import verins.beans.Usuario;

/**
 *
 * @author hectdx
 */
public class ProcesoEmpadronamientoBO {
    
    
    public static List<Procesoempadronamiento>findAll(){
        return new ProcesoEmpadronamientoDAO().findAll();
    }
    
    public static boolean save(Procesoempadronamiento proceso){
        return new ProcesoEmpadronamientoDAO().save(proceso);
    }
    
    public static Procesoempadronamiento findById(int id){
        return new ProcesoEmpadronamientoDAO().finById(id);
    }
    
    public static boolean guardarProcesoEmp(Procesoempadronamiento proceso, 
                                            List<Etapaprocesoempadronamiento> lstEtapaxproceso,Usuario usuario){
        boolean rOk=false;
        boolean esRegistro=proceso.getIdprocesoempadronamiento()==0;
        Log entrada=null;
                 
        rOk=save(proceso) && EtapaProcesoEmpadronamientoBO.guardarEtapas(proceso,lstEtapaxproceso);
        
        if (esRegistro)
           entrada=LogBO.crearEntradaLogSeguimiento(proceso.getIdprocesoelectoral().getIdprocesoelectoral(), usuario.getIdusuario(), verins.Utils.Constantes.LSEG_REGISTRO, proceso.descCambio());
        else
           entrada=LogBO.crearEntradaLogSeguimiento(proceso.getIdprocesoelectoral().getIdprocesoelectoral(), usuario.getIdusuario(), verins.Utils.Constantes.LSEG_MODIFICACION,proceso.descCambio());
        
        LogBO.registrarLog(entrada);
        
        return rOk;
    }
    
    
     public static List<Procesoempadronamiento> finByProcElectoral(int idProcElect){
        return new ProcesoEmpadronamientoDAO().finByProcElectoral(idProcElect);
    }      
     
      public static List<Procesoempadronamiento> finByCriterios(Procesoempadronamiento proceso){
        return new ProcesoEmpadronamientoDAO().finByCriterios(proceso);
    } 
            
}
